﻿using System;
using System.Linq;
using CI.Organism;

namespace CI.Mesopotamia
{
    ///<summary>
    /// The Genisis of MNTABHD, whereby they have to evolve from practiclly nothing
    ///</summary>
    public class GenesisMNTABHD : EvolvingFitnessFunction
    {
        ///<summary>
        /// Sets up the fitness level evaluators
        ///</summary>
        public GenesisMNTABHD()
        {
            // add the fitness evaluators

            // UpdateStrength : this first level fitness that just gives more strength and promotes reproduction
            // UpgradeToNextLevel : checks to see if they have moved if so promote them to the next level
            FitnessLevelEvaluators.Insert(0, new LetThemBreed());


            // not doing 50% in 50 Heartbeats, todo...
            // UpdateStrength : this 2nd level of fitness checking gives more strenth to those which move
            // UpgradeToNextLevel : checks for a ratio of movement to not moving of greater then 50% in 50 Heartbeats
            FitnessLevelEvaluators.Insert(1, new MNTABHD());



            // UpdateStrength : this 3rd level of fitness checking give more strenght to those travel on new area
            // UpgradeToNextLevel : checks for a threshold level of 10 new area covered in 50 Heartbeats
            // todo : 

        }

    }
}
